package cn.sharp.bbs.common;

public class Result {

    /**
     * 业务错误
     */
    public static final int ERR_CODE_BUSINESS = 500;

    public static final int ERR_CODE_UNLOGIN = 520;

    /**
     * 系统错误
     */
    public static final int ERR_CODE_SYS = 530;
    public static final int ERROR_CODE_PERM=520;


    /**
     * 无附带信息的成功响应
     * @return 响应体
     */
    public static Result success(){
        return new Result(200,null,null);
    }

    /**
     * 附带消息的成功响应
     * @param message 附带的消息
     * @return 构建的响应体
     */
    public static Result success(String message){
        return new Result(200,message,null);
    }

    /**
     * 附带消息和数据的成功响应
     * @param message 附带的消息
     * @param data 附带的数据
     * @return 构建的响应体
     */
    public static Result success(String message,Object data){
        return new Result(200,message,data);
    }

    /**
     * 附带数据的成功响应
     * @param data 附带的数据
     * @return 构建的响应体
     */
    public static Result success(Object data){
        return new Result(200,null,data);
    }

    /**
     * 自定义代码和错误信息的错误响应
     * @param code 响应代码
     * @param message 错误信息
     * @return 构建的响应体
     */
    public static Result fail(int code,String message){
        return new Result(code, message,null);
    }

    private final int code;//200成功 500、530错误
    private final String message;
    private final Object data;


    private Result(int code, String message, Object data) {
        this.code = code;
        this.message = message;
        this.data = data;
    }

    public int getCode() {
        return code;
    }


    public String getMessage() {
        return message;
    }

    public Object getData() {
        return data;
    }
}
